// 引入公用的自定义函数
var $ = require('../../../utils/js.js');
var img_src = $.img_src;

Page({
  // 页面的初始数据
  data: {
    // 图片路径的公用部分
    img_src: img_src,

    // 收货地址
    shdz: "",
    // 获取选中的商品
    buy_goods: [],

    // 商品价格
    goods_money: 0,

    // 运费
    yun_fei: 0,

    // 备注
    bei_zhu: "",

    // 砍价订单的id
    user_kanjia_id: "",
  },
  // 生命周期函数--监听页面加载
  onLoad: function(options) {
    // 如果是砍价，获取砍价的订单id
    if (options.user_kanjia_id) {
      this.setData({
        user_kanjia_id: options.user_kanjia_id
      })
    }

    // 获取选中的商品
    this.setData({
      buy_goods: getApp().data.buy_goods
    })

    // 获取运费
    this.get_yun_fei();

    // 获取商品价格
    this.get_goods_money();
  },
  // 生命周期函数--监听页面初次渲染完成
  onReady: function() {

  },
  // 生命周期函数--监听页面显示
  onShow: function() {

  },
  // 自定义函数   开始
  // 获取运费
  get_yun_fei() {
    var buy_goods = this.data.buy_goods;
    $.ajax_post({
      url: "/shopapi/cart/calculate",
      data: {
        data: JSON.stringify(buy_goods)
      },
      success: (res) => {
        var data = res.data.data;
        this.setData({
          yun_fei: data.total_freight - 0
        })
      }
    })
  },
  // 计算价格
  get_goods_money() {
    var buy_goods = this.data.buy_goods;
    var goods_money = 0;
    buy_goods.forEach((obj) => {
      goods_money += obj.goods_price * obj.goods_num;
    })
    this.setData({
      goods_money: goods_money
    })
  },
  // 点击收货地址
  shdz_fun() {
    wx.authorize({
      scope: 'scope.address',
      success: () => {
        // 授权了，打开收货地址
        wx.chooseAddress({
          success: res => {
            this.setData({
              shdz: res
            })
          }
        })
      },
      fail: () => {
        // 没有授权，弹出提示
        $.dui_hua({
          content: "该功能需要您授权允许访问通讯地址，请授权后再试",
          r_text: "打开授权",
          r_fun: () => {
            // 打开授权设置页面
            $.open_root();
          }
        })
      }
    })
  },
  input_fun(e) {
    var value = $.value(e);
    this.setData({
      bei_zhu: value,
    })
  },
  // 提交订单
  form_fun() {
    // 获取要购买的商品
    var buy_goods = this.data.buy_goods;
    // 商品总价
    var goods_money = this.data.goods_money;
    // 运费
    var yun_fei = this.data.yun_fei;
    // 收货地址
    var shdz = this.data.shdz;
    if (shdz == "") {
      $.ti_shi("请选择收货地址");
      return false;
    }

    var goods_arr = [];
    var cart_ids = [];
    // 如果是砍价
    var user_kanjia_id = this.data.user_kanjia_id;
    buy_goods.forEach((obj) => {
      // 如果有购物车id
      if (obj.id) {
        cart_ids.push(obj.id);
      }

      var prom_type = 0;
      var prom_id = 0;
      if (obj.prom_type) {
        prom_type = obj.prom_type;
        prom_id = obj.prom_id;
      }

      var goods_obj = {
        prom_type: prom_type,
        prom_id: prom_id,

        goods_id: obj.goods_id,
        item_id: obj.item_id,
        spec_key: obj.spec_key,
        goods_num: obj.goods_num,
      }

      if (user_kanjia_id) {
        goods_obj.kanjia_price = obj.goods_price;
      }

      goods_arr.push(goods_obj)
    })
    var goods_str = JSON.stringify(goods_arr);
    // 要提交的数据
    var form_data = {
      // 商品数据
      data: goods_str,
      // 收货人
      consignee: shdz.userName,
      // 地址
      address: shdz.provinceName + shdz.cityName + shdz.countyName + shdz.detailInfo,
      // 手机号
      mobile: shdz.telNumber,
      // 应付款金额
      order_amount: goods_money + yun_fei,
      // 订单总价
      total_amount: goods_money,
      // 运费
      shipping_price: yun_fei,
      // 备注
      user_note: this.data.bei_zhu,
      // 成功后要删除的购物车id
      cart_ids: JSON.stringify(cart_ids),
    }

    if (user_kanjia_id) {
      form_data.user_kanjia_id = user_kanjia_id;
    }

    console.log(form_data);
    $.ajax_post({
      url: "/shopapi/cart/create_order",
      data: form_data,
      success: (res) => {
        var data = res.data.data;
        $.zhi_fu({
          data: {
            order_id: data.id,
            table: data.table,
          },
          success: (res) => {
            $.ajax_get({
              url: "/api/pay/sucesss",
              data: {
                order_id: data.id,
                table: data.table,
              },
              success: (res) => {
                if (res.data.code == 1) {
                  $.dui_hua({
                    title: "支付成功",
                    content: "您可以选择查看订单或返回上一页。",
                    l_text: "查看订单",
                    r_text: "返回",
                    l_fun: () => {
                      $.href("/pages/my/dingdan_xiangqing/dingdan_xiangqing?id=" + data.id);
                    },
                    r_fun: () => {
                      $.back(1);
                    },
                  })
                }
              }
            })
          },
          fail: (res) => {
            $.dui_hua({
              title: "支付失败",
              content: "您可以选择查看订单或返回上一页。",
              l_text: "查看订单",
              r_text: "返回",
              l_fun: () => {
                $.href("/pages/my/dingdan_xiangqing/dingdan_xiangqing?id=" + data.id);
              },
              r_fun: () => {
                $.back(1);
              },
            })
          }
        })
      }
    })
  },
  // 自定义函数   结束
  // 生命周期函数--监听页面隐藏
  onHide: function() {

  },
  // 生命周期函数--监听页面卸载
  onUnload: function() {

  },
  // 页面相关事件处理函数--监听用户下拉动作
  onPullDownRefresh: function() {

  },
  // 页面上拉触底事件的处理函数
  onReachBottom: function() {

  },
  // 用户点击右上角分享
  // onShareAppMessage: function() {

  // }
})